Software as a service (SaaS) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. Users typically access a software application running under SaaS using a thin client via a web browser. To reduce the total costs of ownership (TCO), some software applications running under SaaS allocate users of different customers to the same application instance. A customer representing a closed group, which is usually charged and handled as a single entity, is referred to as a tenant. Applications designed to serve multiple tenants with a single runtime instance are referred as multitenant applications. Multitenancy contrasts with multi-instance architectures in which separate software instances operate on behalf of different tenants.
Some multitenant applications are monolithic. A monolithic application is a software application in which the user interface and data access code are combined into a single program from a single platform. An application may be considered monolithic when it is completely self-contained and does not produce a separate process when serving multiple users.
A conventional approach to running multitenant, monolithic applications allows users to access the applications through specified tenants over a local network in a data center. For example, a monolithic email server in a data center provides a locally connected tenant with a share of the data center's network bandwidth to allow its users access to their respective email accounts. The tenants may represent different companies or different departments of a corporation. The users within these companies or corporate departments then access their email over a network through their respective tenants.